﻿;   (function ($, window, document, undefined) {
    //Button chossecontact click
    $("#choosecontact").click(function () {
        chooseContact();
    });
    //Button addnew click
    $("#contact_addnew").click(function () {
        $("#phone_number").val('');
        $("#phone_number").focus();
        $("#contact_name").val('');
        $("#span_contact_id").val('');
        $("#addphone_form").removeClass().addClass("show hide form-inline");
            
    });
    //Button edit click
    $("#contact_edit").click(function () {
        $("#addphone_form").removeClass().addClass("show hide form-inline");
        var contactName = $("#phonebook").find("li.active #contactname");
        var phoneNumber = $("#phonebook").find("li.active #contactphonenumber");
        var contactId = $("#phonebook").find("li.active #contact-id");
        $("#phone_number").val(phoneNumber.text());
        $("#contact_name").val(contactName.text());
        $("#span_contact_id").val(contactId.text());
    });
    //Button Save click
    $("#contact_submit").click(function (e) {
        e.preventDefault();
        var phoneNumber = $("#phone_number").val();
        var contactName = $("#contact_name").val();
        var contactId = $("#span_contact_id").val();
        if (phoneNumber.length > 0 && contactName.length > 0) {
            //Edit
            if (contactId > 0) {
                var objContact = {
                    phone: phoneNumber,
                    contactName: contactName,
                    id: contactId,
                };
                if (phoneNumber.length > 0 && contactName.length > 0) {
                    $.ajax({
                        url: '@Url.Action("Edit", "Contact")',
                        data: JSON.stringify(objContact),
                        type: 'POST',
                        contentType: 'application/json; charset=utf-8',
                        dataType: 'json',
                        success: function (data) {
                            var liative = $("#phonebook li.active");
                            liative.removeClass();
                            liative.replaceWith('<li class="active"><a href="#"><span id="contactname" style="font-size: 14px;">' + data.contactName + '</span> <br><span id="contact-id" class="hide" data-phone='+data.id+' style="font-size: 14px;">'+data.id+'</span> <span id="contactphonenumber" data-phone=' + data.phone + ' style="font-size: 14px;">' + data.phone + '</span> </a></li>');
                            $("#addphone_form").removeClass().addClass("hide hide form-inline");
                            $("#phone_number").val();
                            $("#contact_name").val();
                            $("#input_contact_id").val();
                            phonebook();
                        },
                        error: function () {
                            alert("Chưa cập nhật được. Bạn vui lòng thử lại sau");
                        },
                                                
                    });
                } else {
                    alert("Bạn vui lòng nhập đầy đủ thông tin danh bạ!");
                }
            }
                //Create
            else {
                $.ajax({
                    url: '@Url.Action("Create", "Contact")',
                    data: { phoneNumber: phoneNumber, contactName: contactName },
                    type: 'POST',
                    success: function (data) {
                        if (data.phone.length > 0) {
                            $("#phonebook li").removeClass();
                            $("#phonebook").append('<li class="active"><a href="#"><span id="contactname" style="font-size: 14px;">' + data.name + '</span> <br><span id="contact-id" class="hide" data-phone='+data.contactId+' style="font-size: 14px;">'+data.contactId+'</span> <span id="contactphonenumber" data-phone=' + data.phone + ' style="font-size: 14px;">' + data.phone + '</span> </a></li>');
                            $("#addphone_form").removeClass().addClass("hide hide form-inline");
                            $("#phone_number").val();
                            $("#contact_name").val();
                            $("#input_contact_id").val();
                            phonebook();
                        } else {
                            alert("Số điện thoại đã tồn tại. Bạn vui lòng kiểm tra lại!");
                        }
                    },
                    error: function () {
                        alert("fail");
                    }
                });
            }
        } else {
            alert("Bạn vui lòng nhập đầy đủ thông tin danh bạ!");
        }
    });
    //Button Delete click
    $("#contact_delete").click(function(e) {
        var contactId = $("#phonebook").find("li.active #contact-id");
        if(confirm("Bạn có đồng ý xóa tên liên lạc này?")) {
            $.ajax({
                url: '@Url.Action("Delete", "Contact")',
                data: { id:contactId.text() },
                type: 'POST',
                success: function (data) {
                    $("#phonebook li.active").remove();
                    $("#addphone_form").removeClass().addClass("hide hide form-inline");
                    $("#phone_number").val();
                    $("#contact_name").val();
                    $("#input_contact_id").val();
                },
                error: function () {
                    alert("Chưa xóa được. Bạn vui lòng thử lại sau!");
                }
            });
        } else {
            return;
        }
    });
    phonebook();
})(jQuery, window, document);

function phonebook() {
    //Grid item click
    $("#phonebook li").on('click', function (e) {
        $("#phonebook li").removeClass();
        $(this).removeClass().addClass("active");
        var phoneNumber = $(this).find("#contactphonenumber");
        var contactName = $(this).find("#contactname");
        var contactId = $(this).find("#contact-id");
        $("#phone_number").val(phoneNumber.text());
        $("#contact_name").val(contactName.text());
        $("#span_contact_id").val(contactId.text());
    });
    //Grid item double click
    $("#phonebook li a").dblclick(function () {
        $("#choosecontact").click();
    });
}

function chooseContact() {
    var phoneChoose = $("#phonebook").find("li.active #contactphonenumber");
    if (phoneChoose.length > 0) {
        $("#paymentAmount").val(phoneChoose.text());
        $("#paymentAmount").change();
    }
};
